﻿using MySystemSetup.BusinessDomain;
using MySystemSetup.EnumDomain;
using MySystemSetup.IGive.Dto;
using MySystemSetup.IRole.Dto;
using MySystemSetup.IUser;
using System;
using System.Text;
using System.Threading.Tasks;
using TodoApp.Dto;
using Volo.Abp.Application.Services;

namespace MySystemSetup.IGive
{
    public interface IGiveInfoAppService : IApplicationService
    {

        /// <summary>
        /// 分页显示栋舍
        /// </summary>
        /// <param name="page">当前页</param>
        /// <param name="limit">页容量</param>
        /// <param name="giveType">栋舍类型</param>
        /// <returns>统一返回格式</returns>

        Task<SzrApiPageResult<GiveShowDto>> GetGiveList(int page, int limit, GiveType? giveType,string? gName, string uId);

        /// <summary>
        /// 获取栋舍类型枚举
        /// </summary>
        /// <returns>统一返回格式</returns>
        Task<SzrApiResult<GiveShowDto>> GetGiveTypeEnum();

        /// <summary>
        /// 获取栋舍类型枚举
        /// </summary>
        /// <returns>统一返回格式</returns>
        Task<SzrApiResult<UserShowDto>> GetAllUser();


        /// <summary>
        /// 添加栋舍信息
        /// </summary>
        /// <param name="dto">要添加的栋舍信息</param>
        /// <returns>统一返回格式</returns>
        Task<SzrApiResult<GiveAddDto>> AddGiveInfoAsync(GiveAddDto dto);



        /// <summary>
        /// 添加栋舍信息
        /// </summary>
        /// <param name="dto">要添加的栋舍信息</param>
        /// <returns>统一返回格式</returns>
        Task<SzrApiResult<GiveAddDto>> AddFieldInfoAsync(FieldInfo dto);


    }
}
